1. Field of the Invention
The present invention relates to disk controller systems designed for use in computer systems, and more particularly, to disk controllers which have the capability of resolving bad sectors.
2. Description of the Related Art
Computer systems are becoming much more powerful. While personal computers previously were sufficiently low power and thus low cost that they could be easily be justified for single users, many of the more powerful or high end systems which are available today are quite expensive and very powerful, so that they are used primarily for multiple user or network environments. With the transfer of functions from mainframe computers to the multiuser or network systems, it has become more critical that the multiuser computer or file server in the network not be removed from service for an extended period of time as this reduces overall system productivity. Therefore, it has become critical that as many errors as possible be fixed without requiring the system to be shut down or removed from active service.
One element in common in all of the more powerful systems is the increased amount of hard disk space being used or required. As more users are added and more complex applications are developed, ever larger amounts of hard disk storage are added to the system. To help handle these large disk units, or disk arrays as they are called in certain cases, intelligent disk controllers were and are being developed so that much of the control processing can be off loaded from the central processor in the system. Because of this shift in functions, the central processor is not required to perform numerous functions and more overhead is available for primary functions. This allows increases in overall system performance and throughput.
Because of the larger amounts of disk space being utilized and the relatively high failure rates of the disk units, some technique for protection of the data is generally utilized. The simplest form of this protection is called mirroring, where two disk units are utilized for each given data element, with identical data being stored on both units in parallel. In this manner, if one unit fails, the data can be obtained from the other unit without the interruption of service. However, when the bad drive does need to be replaced, or at least the errors permanently corrected or resolved, conventionally this has required that the system not be accessible to system users, so that these system activities can be performed. The system operator must run certain diagnostic software which requires exclusive system control. So in addition to the loss of system, operator actions are required.
The alternative to mirroring, and a more complex design, is called parity using a disk array and is generally described in articles written by D. Patterson, et al., A Case for Redundant Arrays of Inexpensive Disks (RAID), ACM SIGMOD conference, Jun. 1-3, 1988; D. Patterson, et al., Introduction to Redundant Arrays of Inexpensive Disks (RAID), Report No. UCB/CSD 88/479, University of California Berkeley, December, 1988; and M. Schulze, Considerations on the Design of a RAID Prototype, Report No. UCB/CSD 88/448, University of California Berkley, August, 1988. The drive array configuration allows storage of redundant data, called parity data, so that errors can temporarily be corrected without data loss, but once again for the error to be more permanently resolved it requires full and unhindered access to the network or system and operator action.
One common failure of a disk unit is that a sector on a single track goes bad. A bad sector is one that does not reliably accept or provide data, generally due to a basic disk media failure. Present disk units typically provide a spare sector per track to allow a simple remapping without losing a significant amount of disk space or speed because of alternative location seeks. The controller contained in the disk unit itself contains sufficient software and capabilities so that when given a remap or reformat command the controller reformats the particular track, changing the sector locations so that bad sectors are mapped out of the track and the spare utilized. However, this conventionally requires the use of a special diagnostic program to provide the remap or reformat commands to the disk unit, which of course requires that the system be removed from normal use for a period of time.
Therefore, should a disk unit fail for some reason, particularly a single sector going bad, while mirroring or parity assures that the data will not automatically be lost, in use the system must be removed from its normal activities and placed in a diagnostic mode by the operator to allow the bad disk unit to corrected, thus decreasing overall system efficiency.